package com.wsd.jing.enums;

import lombok.AllArgsConstructor;
import lombok.Getter;

/**
 * All rights Reserved, Designed By www.tom.com
 *
 * @author tom
 * @version 1.0.0
 * @projectName: jing
 * @packageName: com.wsd.jing.enums
 * @className: CodeEnum
 * @description 返回状态码枚举类
 * @createDate 2022/11/14 18:53
 * @copyright 2022/11/14 18:53 www.tom.com Inc. All rights reserved.
 */
@Getter
@AllArgsConstructor
public enum CodeEnum {

    /**
     * 成功
     */
    SUCCESS(100000, "操作成功"),

    /**
     * 失败
     */
    FAILED(100001, "操作失败"),

    /**
     * 登录过期
     */
    UNAUTHORIZED(100002, "暂未登录或token已经过期"),

    /**
     * 无操作权限
     */
    FORBIDDEN(100003, "无操作权限"),

    /**
     * 参数检验失败
     */
    VALIDATE_FAILED(100004, "参数检验失败"),

    /**
     * 账号已被锁定
     */
    ACCOUNT_LOCKED(100005, "账号已被锁定"),

    /**
     * 账号或密码错误
     */
    ACCOUNT_PASSWORD_FAILED(100006, "账号或密码错误"),

    /**
     * 验证码已过期
     */
    CAPTCHA_EXPIRED(100007, "验证码已过期"),

    /**
     * 验证码错误
     */
    CAPTCHA_FAILED(100008, "验证码错误"),

    /**
     * 职位名称已存在
     */
    POST_NAME_EXIST(100009, "职位编码已存在"),

    /**
     * 职位已使用，不能删除
     */
    POST_NOT_DELETE(100010, "职位已使用，不能删除"),

    /**
     * 部门名称已存在
     */
    DEPARTMENT_NAME_EXIST(100011, "部门名称已存在"),

    /**
     * 部门已使用，不能删除
     */
    DEPARTMENT_NOT_DELETE(100012, "部门已使用，不能删除"),

    /**
     * 参数键名已存在
     */
    PARAMETER_KEY_EXIST(100013, "参数键名已存在"),

    /**
     * 字典类型已存在
     */
    DICTIONARY_TYPE_EXIST(100014, "字典类型已存在"),

    /**
     * 字典项名称或值已存在
     */
    DICTIONARY_DETAIL_NAME_EXIST(100015, "字典项名称或值已存在"),

    /**
     * 菜单或按钮已使用，不能删除
     */
    MENU_NOT_DELETE(100016, "菜单或按钮已使用，不能删除"),

    /**
     * 角色名称已存在
     */
    ROLE_NAME_EXIST(100017, "角色名称已存在"),

    /**
     * 角色已使用，不能删除
     */
    ROLE_NOT_DELETE(100018, "角色已使用，不能删除");

    /**
     * 操作码
     */
    private final Integer code;

    /**
     * 操作信息
     */
    private final String message;
}
